namespace Blazor.Core.Disposable;

public class Scope: IDisposable
{
    private ICollection<IDisposable> _disposables = new List<IDisposable>();
    
    public void Add(IDisposable disposable)
    {
        _disposables.Add(disposable);
    }

    public void Dispose()
    {
        foreach (var disposable in _disposables)
        {
            disposable.Dispose();
        }
        
        _disposables.Clear();
    }
}